"""
在 Python 中，元组（tuple）是一种不可变的序列数据类型，用于存储多个元素，与列表（list）相似。
元组可以存储不同类型的数据，例如数字、字符串、甚至其他元组。
但与列表不同的是，元组一旦创建，其内容就无法被修改（即不能添加、删除或更改其中的元素）。
"""

# 创建一个空元组
empty_tuple = ()
# 创建包含一个元素的元组（注意：单元素元组需要在元素后添加逗号）
single_element_tuple = (42,)
# 创建包含多个元素的元组
multi_element_tuple = (1, 2, 3, "hello", 4.5)
# 也可以省略括号，直接用逗号分隔元素创建元组
another_tuple = 1, 2, 3

my_tuple = (10, 20, 30, 40)
# 访问第一个元素
print(my_tuple[0])  # 输出：10
# 访问最后一个元素
print(my_tuple[-1])  # 输出：40

my_tuple = (1, 2, 3)
# my_tuple[1] = 10  # 这会引发错误，因为元组的元素不可修改

tuple1 = (1, 2, 3)
tuple2 = (4, 5)
combined_tuple = tuple1 + tuple2  # 结果：(1, 2, 3, 4, 5)
repeated_tuple = (1, 2) * 3  # 结果：(1, 2, 1, 2, 1, 2)
my_tuple_2 = (1, 2, 3, 4, 5)
sub_tuple_2 = my_tuple[1:4]  # 结果：(2, 3, 4)

# 内置函数
my_tuple = (1, 2, 3)
print(len(my_tuple))
print(min(my_tuple))
print(max(my_tuple))
print(sum(my_tuple))


def get_point():
    """
    返回多个值：函数可以返回一个元组，从而让函数返回多个值。这里其实返回的是tuple
    :return:
    """
    return 10, 20


print(type(get_point()))

# 元组可以做字典的key，因为它不可改变，但是list不行
my_dict = {(1, 2): "a", (3, 4): "b"}
print(my_dict[(1, 2)])  # 输出：a
